home *** CD-ROM | disk | FTP | other *** search
/ Aminet 8 / Aminet 8 (1995)(GTI - Schatztruhe)[!][Oct 1995].iso / Aminet / comm / fido / MM_ScriptSet1.lha / MM_AutoArchive.rexx next >
OS/2 REXX Batch file  |  1995-08-14  |  2KB  |  67 lines

  1. /*
  2. ** MM_AutoArchive v1.0 by Tomasz Nidecki
  3. **
  4. ** This script allows you to automatically archive and
  5. ** delete messages selected based on a complex condition
  6. ** composed of patterns for "from", "to" and "subject" fields.
  7. ** Messages will be archived in Mail:Archive. Feel free to
  8. ** change the path to your preferences.
  9. **
  10. ** Args: rx MM_AutoArchive.rexx <area-tag>, <from-name>, <to-name>, <subject>, <file>
  11. */
  12.  
  13. DELFLAG = "DEL"
  14. address "MAILMANAGER"
  15. BEG_STEM.count = 3
  16. END_STEM.count = 3
  17. BEG_STEM.0 = ''
  18. END_STEM.0 = ''
  19. BEG_STEM.1 = '------------------------ START OF ARCHIVED MESSAGE -------------------------'
  20. END_STEM.1 = '------------------------- END OF ARCHIVED MESSAGE --------------------------'
  21. BEG_STEM.2 = ''
  22. END_STEM.2 = ''
  23.  
  24. parse arg area_tag ',' from_name ',' to_name ',' msg_subject ',' file_name
  25.  
  26. area_tag = strip(area_tag)
  27. from_name = strip(from_name)
  28. to_name = strip(to_name)
  29. msg_subject = strip(msg_subject)
  30. file_name = 'Mail:Archive/'strip(file_name)
  31.  
  32. SEP_STEM.count = 10
  33. SEP_STEM.0 = ''
  34. SEP_STEM.1 = '============================================================================'
  35. SEP_STEM.2 = '                      Archived by MM_AutoArchive.rexx'
  36. SEP_STEM.3 = '----------------------------------------------------------------------------'
  37. SEP_STEM.8 = '============================================================================'
  38. SEP_STEM.9 = ''
  39.  
  40. log_string = 'Attempting to archive messages from ' from_name ' to ' to_name ' about ' msg_subject ' in ' area_tag ' into ' file_name  '.'
  41. MM_WriteLog 'log_string' 3
  42.  
  43. MM_SearchMsgs area_tag search_stem '"'from_name'"' '"'to_name'"' '"'msg_subject'"' !SENT
  44.  
  45. DO msg_num=0 FOR search_stem.count
  46.  
  47.   MM_ReadMsg area_tag search_stem.msg_num read_stem
  48.   SEP_STEM.4 = 'From:' read_stem.from ' ' read_stem.fromaddr
  49.   SEP_STEM.5 = 'To:  ' read_stem.to ' ' read_stem.toaddr
  50.   SEP_STEM.6 = 'Subj:' read_stem.subj
  51.   SEP_STEM.7 = 'Date:' read_stem.date ' Flags: ' read_stem.flags
  52.   MM_WriteStem file_name SEP_STEM 'APPEND'
  53.   MM_WriteStem file_name BEG_STEM 'APPEND'
  54.   MM_WriteStem file_name read_stem.text 'APPEND'
  55.   MM_WriteStem file_name END_STEM 'APPEND'
  56.   MM_EditMsgFlags area_tag search_stem.msg_num 'delflag'
  57.  
  58.   log_string = 'Archived message #' search_stem.msg_num
  59.   MM_WriteLog 'log_string' 3
  60.  
  61. END
  62.  
  63. MM_CleanArea area_tag
  64.  
  65. log_string = 'Finished archiving messages.'
  66. MM_WriteLog 'log_string' 3
  67.